use hysteria_client::{HysteriaClient, config::{ClientConfig, Socks5Config}};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // Initialize logging
    tracing_subscriber::fmt::init();

    // Create client configuration
    let config = ClientConfig {
        server: "your-server.com:443".to_string(),
        auth: "your_password".to_string(),
        obfs: Default::default(),
        tls: Default::default(),
        bandwidth: Default::default(),
        socks5: Some(Socks5Config {
            listen: "127.0.0.1:1080".parse()?,
        }),
        http: None,
    };

    // Create and start client
    let client = HysteriaClient::new(config);
    client.serve().await?;

    Ok(())
}
